using ZR.Model;

namespace ZR.Model.System.Dto
{
    /// <summary>
    /// 表查询对象
    /// </summary>
    public class TableQueryDto : PagerInfo
    {
        /// <summary>
        /// 查询类型：PPI - 查询所有Z_RADR_I表名，DBS - 查询所有Z_RADR_I表名且包含有LR_096
        /// </summary>
        public string Type { get; set; }

        /// <summary>
        /// 开始时间（用于筛选表名）
        /// </summary>
        public DateTime? BeginTime { get; set; }

        /// <summary>
        /// 结束时间（用于筛选表名）
        /// </summary>
        public DateTime? EndTime { get; set; }

        /// <summary>
        /// 城市参数（用于筛选表名，例如：xuancheng）
        /// </summary>
        public string City { get; set; }
    }

    /// <summary>
    /// 表查询结果对象
    /// </summary>
    public class TableQueryResultDto
    {
        /// <summary>
        /// 表名
        /// </summary>
        public string TableName { get; set; }

        /// <summary>
        /// 提取的日期时间字符串（如：20250728001433）
        /// </summary>
        public string DateTimeString { get; set; }

        /// <summary>
        /// 格式化后的日期时间
        /// </summary>
        public string FormattedDateTime { get; set; }
    }

    /// <summary>
    /// 表查询列表请求对象
    /// </summary>
    public class TableQueryListRequest
    {
        /// <summary>
        /// 查询类型：PPI - 查询所有Z_RADR_I表名，DBS - 查询所有Z_RADR_I表名且包含有LR_096
        /// </summary>
        public string Type { get; set; }

        /// <summary>
        /// 开始时间（用于筛选表名）
        /// </summary>
        public DateTime? BeginTime { get; set; }

        /// <summary>
        /// 结束时间（用于筛选表名）
        /// </summary>
        public DateTime? EndTime { get; set; }

        /// <summary>
        /// 页码
        /// </summary>
        public int PageNum { get; set; } = 1;

        /// <summary>
        /// 每页数量
        /// </summary>
        public int PageSize { get; set; } = 10;

        /// <summary>
        /// 城市参数（用于筛选表名，例如：xuancheng）
        /// </summary>
        public string City { get; set; }
    }
}
